<?php
/**
 * The world of warcraft armory library was created by Marc Binder. The called
 * product will be deployed by Tof Technologies, Germany. All sources contain to 
 * the New BSD Licence. Self created extensions can be contained in the hall of 
 * fame. So the community has the chance to get a overview of all parsers and
 * handlers, which are really effective.
 * 
 * Get more informations:
 * http://code.google.com/p/warcraftarmory/
 * 
 * @author      Marc Binder <marcandrebinder@gmail.com>
 * @copyright   (c) Tof Technologies, Germany - 2010
 * @license     New BSD Licence
 * @package     Wow_Armory
 * @version     $Id$
 */

/**
 * Wow_Armory_Core_Cache_Abstract
 * 
 * @category    Wow_Armory
 * @package     Core
 * @subpackage  Cache Abstract
 * @example     n/A
 */
abstract class Wow_Armory_Core_Cache_Abstract
{
    
    /**
     * Contains the name of the cache handler.
     * 
     * @var string
     */
    protected $_name = null;
    
    /**
     * Sets the name of the cache handler.
     * 
     * @param string $var
     * @return void
     */
    public function setName($var)
    {
        $this->_name = $var;
        return $this;
    }
    
    /**
     * Gets the name.
     * 
     * @return string
     */
    public function getName()
    {
        return $this->_name;
    }
    
    /**
     * OVERWRITE THIS METHOD!
     */
    public function load($name)
    {
        throw new Wow_Armory_Exception('', 1024);
    }
    
    /**
     * OVERWRITE THIS METHOD!
     */
    public function write($name, $time, $data)
    {
        throw new Wow_Armory_Exception('', 1024);
    }
    
    /**
     * OVERWRITE THIS METHOD!
     */
    public function isExpired($data)
    {
        throw new Wow_Armory_Exception('', 1024);
    }
    
}